Trackear rama local con remota

Descripcion

Como enlazar ramas que tenemos en local con ramas de un repositorio remoto.

Comandos basicos

Consultar repositorio remoto

Primero tenemos que consultar si nuestro repositorio está enlazado con algún repositorio remoto:

git remote -v

Nos devolverá la dirección del repositorio remoto, en caso de que el comando no devuelva nada, quiere decir que tendremos que configurar nuestro repositorio remoto usando el siguiente comando:

git remote add origin <DIRECCION_REPO>

Consultar estado de la rama

Primero consultamos el estado de la rama en la que estamos con el siguiente comando:

> git status

Podemos tener 3 estados:

Un comando alternativo para ver el estado de las ramas trackeadas es:

> git branch -vv

Con este comando vemos todas las ramas, las que estan trackeadas con una rama remota muestran entre corchetes y en azul la rama con la que estan trackeadas, las ramas que no tienen niguna rama trackeada no muestran esta información.

Rama local existente / Rama remota NO existente

En este caso tenemos una rama local rama_test que existe en local, pero no en remoto, para crear la rama remota y trackearla con la local usamos el siguiente comando:

> git push -u origin rama_test

Rama local NO existente / Rama remota existente

En este caso lanzaríamos el siguiente comando para crear una rama local y trackearla directamente con la remota:

> git branch --track rama_testB origin/rama_testB

otra alternativa es:

> git checkout -t <origin/nombreremoto>

Tenemos que tener en cuenta que si no tenemos la información de ramas actualizadas con el repositorio remoto tendremos que ejecutar el comando:

> git fetch

Rama local existente / Rama remota existente

Si existen tanto la rama local como la remota podemos trackearlas con el siguiente comando:

> git branch --set-upstream-to=origin/rama_testC

Con este comando incluso podemos trackear ramas con nombres distintos, aunque NO ES RECOMENDABLE

NOTA: Cuando queremos trackear dos ramas con nombres distintos las dos ramas deben de existir (tanto en remoto como en local)

Untrackear ramas

Si queremos dejar de tener una rama enlazada con otra rama remota podemos hacerlo con el siguiente comando:

> git branch --unset-upstream
Tags

Git | track | branch